package Day15.poly_.one_;

/**
 * 基本介绍： 多[多种]态[状态]
 * 方法或者对象具有多种形态，是面向对象的第三大特征，多态是建立在封装接继承基础之上的
 * <p>
 * 多态的具体 实现
 */
public class PolyMethod {
    public static void main(String[] args) {
        //方法重载体现多态
        A a = new A();
        //传入不同的参数，就会调用不同的sum方法，就体现了多态
        System.out.println(a.sum(10, 20));
        System.out.println(a.sum(10, 20, 30));

        //方法重写体现多态
        B b = new B();
        a.say();
        b.say();
    }
}

class B {//父类

    public void say() {
        System.out.println("B say方法被调用");
    }
}

class A extends B {//子类

    public int sum(int n1, int n2) {//和下面的sum构成重载
        return n1 + n2;
    }

    public int sum(int n1, int n2, int n3) {
        return n1 + n2 + n3;
    }

    public void say() {
        System.out.println("A say方法被调用...");
    }
}